package htjs.site.service.bo.gen.engine.util; import java.io.*; import java.util.*; import java.util.Random; public final class AlgoTest { public static void main(String[] args) { Date start = new Date(); //new AlgoTest().findTheLostNumber(); /*String tt = "jkdjsohj"; char[] t = tt.toCharArray(); swap(t); System.out.println(t);*/ /* new AlgoTest().find(); new AlgoTest().sign(); new AlgoTest().sort(); new AlgoTest().merge(); */ // new AlgoTest().shark("abcdefghijklmnopqrstuvwxyz", 10); System.out.println((char )('0'-1)); new AlgoTest().readLargeFile(); Date stop = new Date(); System.out.println("$$$$$$$$$$$共用时: " + (stop.getTime() - start.getTime()) + " 毫秒"); } public void shark(String s, int k) { char[] cs = s.toCharArray(); int len = cs.length; reverse(cs, 0, k - 1); reverse(cs, k, len - 1); reverse(cs, 0, len - 1); System.out.println(cs); } public static void reverse(char[] c, int k, int s) { for (int i = k, j = s; i <= (k + s) / 2.0; i++, j--) { char temp = c[i]; c[i] = c[j]; c[j] = temp; } } public void readLargeFile() { try { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter( new OutputStreamWriter( new FileOutputStream("D:/dicMerge.txt"), "UTF-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); //To change body of catch statement use File | } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of atchc statement use File | } BufferedReader bin = new BufferedReader( new InputStreamReader(new FileInputStream(new File("D:/Data.txt")))); String str = bin.readLine(); long index = 0; while ((str) != null) { try { index++; str = bin.readLine(); } catch (Exception e) { System.out.println(index); } } out.flush(); out.close(); bin.close(); } catch (IOException ioe) { } } public void merge() { try { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter( new OutputStreamWriter( new FileOutputStream("D:/dicMerge.txt"), "UTF-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); //To change body of catch statement use File | } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of atchc statement use File | } BufferedReader bin = new BufferedReader(new InputStreamReader( new FileInputStream(new File("D:/dicSort.txt")))); String str = ""; String temp = bin.readLine(); List list = new ArrayList(); String m = temp.split(" ")[1]; while ((str = bin.readLine()) != null) { if (temp.split(" ")[0].equals(str.split(" ")[0])) { m = m + " " + str.split(" ")[1]; } else { m = temp.split(" ")[0] + " " + m; out.print(m + "\n"); temp = str; m = temp.split(" ")[1]; } } out.flush(); out.close(); bin.close(); } catch (IOException ioe) { } } public void sort() { try { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter( new OutputStreamWriter( new FileOutputStream("D:/dicSort.txt"), "UTF-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); //To change body of catch statement use File } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of atchc statement use File } BufferedReader bin = new BufferedReader( new InputStreamReader( new FileInputStream(new File("D:/dicSign.txt")))); String str = null; List list = new ArrayList(); while ((str = bin.readLine()) != null) { list.add(new String(str)); //写你的处理代码, System.out.println(str); } ComparatorForMap cfm = new ComparatorForMap(); Collections.sort(list, cfm); for (int i = 0; i < list.size(); i++) { out.print(list.get(i) + "\n"); } out.flush(); out.close(); bin.close(); } catch (IOException ioe) { } } public void sign() { try { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter(new OutputStreamWriter( new FileOutputStream("D:/dicSign.txt"), "UTF-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); //To change body of catch statement use File } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of atchc statement use File } BufferedReader bin = new BufferedReader( new InputStreamReader(new FileInputStream( new File("D:/dic.txt")))); String str = bin.readLine(); while ((str) != null) { if (str.length() < 3) { ; } else { String temp = str; char[] tt = str.toCharArray(); swap(tt); temp = new String(tt) + " " + temp + "\n"; out.print(temp); } //写你的处理代码, System.out.println(str); str = bin.readLine(); } out.flush(); out.close(); bin.close(); } catch (IOException ioe) { } } public static void swap(char[] tt) { int len = tt.length; for (int i = 0; i < len; i++) { char temp = tt[i]; char temp1 = tt[i]; int index = i; for (int j = i + 1; j < len; j++) { if (temp > tt[j]) { index = j; temp = tt[j]; } } tt[i] = temp; tt[index] = temp1; } System.out.println(tt); } public void find() { try { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter( new OutputStreamWriter( new FileOutputStream("D:/dic.txt"), "UTF-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); //To change body of catch statement use File } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of atchc statement use File } BufferedReader bin = new BufferedReader(new InputStreamReader( new FileInputStream( new File("C:\\Users\\MJ\\AppData\\Local\\Temp\\牛津英汉词典.txt")))); String str = null; while ((str = bin.readLine()) != null) { if (str.length() < 3) { ; } else if (str.charAt(0) == 'v' && str.charAt(1) == '.') ; else if (str.charAt(0) < 'A' || str.charAt(0) > 'z') ; else if (str.indexOf(".") < 6 && str.indexOf(".") >= 0) ; else if (str.charAt(0) >= 'A' && str.charAt(0) <= 'z' && str.charAt(1) >= 'A' && str.charAt(1) <= 'z') { String[] temp = str.split(" "); out.print(temp[0] + "\n"); } //写你的处理代码, System.out.println(str); } out.flush(); out.close(); bin.close(); } catch (IOException ioe) { } } public void findTheLostNumber() { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter( new OutputStreamWriter(new FileOutputStream("D:/Data.txt"), "UTF-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); //To change body of catch statement use File } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of atchc statement use File } Random ran = new Random(); for (int i = 0; i < 10000; i++) { for (int j = 0; j < 100000; j++) { if (ran.nextInt(10000) > 9900) ; else { String temp = j + ""; for (int k = 0; k < 5 - temp.length(); k++) temp = "0" + temp; out.print(i + temp + "\n"); } } } out.flush(); out.close(); } } final class ComparatorForMap implements Comparator { public ComparatorForMap() { } public int compare(Object arg0, Object arg1) { String s0 = (String) arg0; String s1 = (String) arg1; int index = 0; for (int i = 0; i < (s0.length() < s1.length() ? s0.length() : s1.length()); i++) { if (s0.charAt(i) == s1.charAt(i)) index++; else break; } if (index == (s0.length() < s1.length() ? s0.length() : s1.length())) return s0.length() == s1.length() ? 0 : (s0.length() < s1.length() ? -1 : 1); else { return s0.charAt(index) == s1.charAt(index) ? 0 : s0.charAt(index) > s1.charAt(index) ? 1 : -1; } } }
You need to enable Javascript in your browser to edit pages.
help on how to format text